package com.shqcjd.siemensglass.http;






import com.shqcjd.siemensglass.bean.AgoraIdBean;
import com.shqcjd.siemensglass.bean.ExpertUserEnity;
import com.shqcjd.siemensglass.bean.LoginBean;
import com.shqcjd.siemensglass.bean.RemoteGuideBean;
import com.shqcjd.siemensglass.bean.RoomUserEntity;
import com.shqcjd.siemensglass.bean.UserStatusBean;

import java.util.List;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;

/**
 * Created by sy on 2018/5/3.
 */

public interface ApiService {


    @POST(HttpUrl.POST_PUSH_MSG)
    Observable<Result>
    postPushMsg(@Body RequestBody jsonBody);

//    @GET(HttpUrl.GET_SCAN_DATA)
//    Observable<BaseResult<QrEntity>>
//    getScanData(@Query("qr_code") String qr_code);

//    @GET(HttpUrl.GET_EQUIPMENT_TYPE)
//    Observable<BaseResult<List<String>>>
//    getEquipmentType();
//
//    @GET(HttpUrl.GET_SEARCH_FAULT)
//    Observable<BaseResult<FaultEnity>>
//    getSearchFault(@Query("page") int page, @Query("size") int size, @Query("keyword") String keyword, @Query("sn") String sn, @Query(value = "type", encoded = true) String type);

    @GET(HttpUrl.GET_EXPERT_LIST)
    Observable<BaseResult<List<ExpertUserEnity>>>
    getExpertList();

    @POST(HttpUrl.GET_ROOM_ID)
    Observable<BaseResult<RemoteGuideBean>>
    getRoomId(@Body RequestBody jsonBody);

    @FormUrlEncoded
    @POST(HttpUrl.LOGIN)
    Observable<BaseResult<LoginBean>>
    getLogin(@Field("androidId") String androidId);

    @POST(HttpUrl.END_VIDEO)
    Observable<BaseResult>
    endVideo(@Path("roomId") String roomid);


    @GET(HttpUrl.GET_USER_STATUS)
    Observable<BaseResult<List<UserStatusBean>>>
    getUserStatus();

    @GET(HttpUrl.GET_ROOM_USER)
    Observable<BaseResult<List<RoomUserEntity>>>
    getRoomUser(@Path("roomId") String roomId);

    @GET(HttpUrl.AGORA_ID)
    Observable<ResponseData<List<AgoraIdBean>>>
    getAgoraId();


    @GET(HttpUrl.START_RECORD)
    Observable<ResponseData>
    startVideo(@Path("roomId") String roomid);
}
